package com.rerun.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.rerun.common.util.JsonDateFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * The type Edu background.
 */
@TableName("edu_background")
public class EduBackground extends Model<EduBackground> {

    private static final long serialVersionUID = -8685383689952897650L;
    @TableId(type = IdType.UUID)
    private String id;
    private String memberId;
    private String schoolName;
    private String major;
    private String edu;
    private String collegeId;

    @JsonSerialize(using = JsonDateFormat.class)

    private Date startDate;

    @JsonSerialize(using = JsonDateFormat.class)
    private Date endDate;

    @JsonSerialize(using = JsonDateFormat.class)
    private Date updateTime;

    @JsonSerialize(using = JsonDateFormat.class)
    private Date createTime;
    private String phoneNumber;

    /**
     * Gets college id.
     *
     * @return the college id
     */
    public String getCollegeId() {
		return collegeId;
	}

    /**
     * Sets college id.
     *
     * @param collegeId the college id
     */
    public void setCollegeId(String collegeId) {
		this.collegeId = collegeId;
	}

    /**
     * Gets id.
     *
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * Sets id.
     *
     * @param id the id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * Gets member id.
     *
     * @return the member id
     */
    public String getMemberId() {
        return memberId;
    }

    /**
     * Sets member id.
     *
     * @param memberId the member id
     */
    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    /**
     * Gets school name.
     *
     * @return the school name
     */
    public String getSchoolName() {
        return schoolName;
    }

    /**
     * Sets school name.
     *
     * @param schoolName the school name
     */
    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    /**
     * Gets major.
     *
     * @return the major
     */
    public String getMajor() {
        return major;
    }

    /**
     * Sets major.
     *
     * @param major the major
     */
    public void setMajor(String major) {
        this.major = major;
    }

    /**
     * Gets edu.
     *
     * @return the edu
     */
    public String getEdu() {
        return edu;
    }

    /**
     * Sets edu.
     *
     * @param edu the edu
     */
    public void setEdu(String edu) {
        this.edu = edu;
    }

    /**
     * Gets start date.
     *
     * @return the start date
     */
    public Date getStartDate() {
        return startDate;
    }

    /**
     * Sets start date.
     *
     * @param startDate the start date
     */
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    /**
     * Gets end date.
     *
     * @return the end date
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * Sets end date.
     *
     * @param endDate the end date
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * Gets update time.
     *
     * @return the update time
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * Sets update time.
     *
     * @param updateTime the update time
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * Gets create time.
     *
     * @return the create time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * Sets create time.
     *
     * @param createTime the create time
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * Gets phone number.
     *
     * @return the phone number
     */
    public String getPhoneNumber() {
        return phoneNumber;
    }

    /**
     * Sets phone number.
     *
     * @param phoneNumber the phone number
     */
    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    @Override
    public String toString() {
        return "{" +
                "id:" + id +
                ", memberId:" + memberId +
                ", schoolName:" + schoolName +
                ", major:" + major +
                ", edu:" + edu +
                ", startDate:" + startDate +
                ", endDate:" + endDate +
                ", updateTime:" + updateTime +
                ", createTime:" + createTime +
                ", phoneNumber:" + phoneNumber +
                '}';
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
